package com.plian.system.entity.sys;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.plian.system.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

/**
 * <p>
 * 用印申请
 * </p>
 *
 * @author husong
 * @since 2023-03-18 13:09:29
 */
@Data
@TableName("sys_seal_apply")
@ApiModel(value = "SealApply对象", description = "用印申请")
public class SealApply extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "经办人用户id", required = true)
    private String handledBy;

    @ApiModelProperty(value = "承办处室id", required = true)
    private Long undertakingOfficeId;

    @ApiModelProperty(value = "事项名称", required = true)
    @NotEmpty(message = "事项名称不能为空")
    private String name;

    @ApiModelProperty(value = "用印类型 党工委章=155001 国资委章=155002 委办公室章=155003", required = true)
    @NotNull(message = "用印类型不能为空")
    private String type;

    @ApiModelProperty(value = "报送对象", required = true)
    @NotEmpty(message = "报送对象不能为空")
    private String submittedTo;

    @ApiModelProperty(value = "份数", required = true)
    @Min(value = 1, message = "份数不能小于1")
    private Integer number;

    @ApiModelProperty("承办处室审批人")
    private String undertakingApprovedUser;

    @ApiModelProperty("承办处审批意见")
    private String undertakingApprovedOpinion;

    @ApiModelProperty("承办处签名图片id")
    private String undertakingSignImageId;

    @ApiModelProperty("承办处审批时间")
    private Date undertakingApprovedTime;

    @ApiModelProperty("委领导审批意见")
    private String committeeApprovedOpinion;

    @ApiModelProperty("委领导审批时间")
    private Date committeeApprovedTime;

    @ApiModelProperty("委领导审批人")
    private String committeeApprovedUser;

    @ApiModelProperty("委领导签名图片id")
    private String committeeSignImageId;

    @ApiModelProperty(value = "流程实例id")
    private String formType;

    @TableField(exist = false)
    @ApiModelProperty(value = "附件")
    private List<HashMap> docList;

}
